Field of the Invention
The present invention belongs to the field of electronic circuits, and relates more particularly to the control of microprocessor integrated circuits.
Description of the Related Art
A microcontroller is one example of a programmable integrated circuit comprising, in addition to one or more microprocessors, memories (flash, ROM, EEPROM, RAM, etc.), interface peripherals, etc.
On startup, a microcontroller executes a bootstrap program, consisting of code instructions which can be executed by a microprocessor.
Such a bootstrap program is stored in a nonvolatile memory, for example a ROM memory (Read-Only Memory), and makes it possible to initiate by default the execution of a more complex general program suitable for performing the various functions provided for the microcontroller.
In particular, in embedded systems, the microcontroller can also be configured to execute a program for loading a specific program. The specific program makes it possible in particular to modify the general program by modifying the content of a nonvolatile memory in which all or part of said general program is stored.
The mode in which said microcontroller executes the loading program (known by the name “bootstrap loader” in the literature) is hereinafter designated “bootstrap mode”.
The bootstrap mode is activated by biasing ports (fins, leads, etc.) of the microcontroller, that is to say by applying predetermined signals to said ports, which will be interpreted by the microcontroller as a bootstrap mode activation command.
These ports are more often than not dedicated to the activation of the bootstrap mode.
While the bootstrap mode is activated frequently in the integration/validation phase of the microcontroller, such is no longer the case when said microcontroller is included in a finished product, for example a motor vehicle computer. The bootstrap mode is then activated only in the event of failure and return of the computer to the manufacturer for failure analysis.
It will therefore be understood that, by dedicating certain ports to the activation of bootstrap mode, the result is an inefficient use of the ports of the microcontroller, which is all the more detrimental since the number of ports of a microcontroller is generally limited.
It is known practice to provide shared ports implemented both for the activation of the bootstrap mode and for inputs/outputs of the microcontroller. The problem with such an approach lies in the fact that it is very complex in practice to have both the activation of the bootstrap mode and inputs/outputs of the microcontroller coexist on one and the same port.
On the one hand, the signals that can be received on such ports can have very different characteristics (voltage, clock frequency, etc.) depending on whether they are bootstrap mode activation signals or input/output signals, so that the processing by the microcontroller of these signals proves complex and requires a great number of logic circuits.
Also, the coexistence with equipment items which access these ports as inputs/outputs of the microcontroller raises the problem of the electrical insulation of these equipment items, as well as that of avoiding having signals applied by these equipment items to these ports being interpreted erroneously as an activation of the bootstrap mode. In practice, in the case of a motor vehicle, an erroneous activation of the bootstrap mode could cause the control of said motor vehicle to be lost to its passengers.